## Setup Variables library(alr4) Highway$sigs1 <- with(Highway, (sigs * len + 1)/len) f <- ~ log(len) + shld + log(adt) + log(trks) + lane + slim +lwid + itg + log(sigs1) + acpt + htype ##Forward Selection m0 <- lm(log(rate) ~ log(len), Highway) # the base model m.forward <- step(m0, scope=f, direction="forward") ##Backward Elimination m1 <- update(m0, f) m.backward <- step(m1, scope = c(lower = ~ log(len)), direction="backward") ##Stepwise Regression m.stepup <- step(m0, scope=f) ## A Cautionary Example -- A criterion and 99 totally random predictors library(MASS) set.seed(12345) mu <- rep(0,100) R <- matrix(rep(0,10000),100,100) + diag(100) data <- mvrnorm(120,mu,R) colnames(data) <- paste("X",1:100,sep="") data <- data.frame(round(data,2)) write.table(data,"data.txt",row.names=F,col.names=T,sep=",") m0 <- lm(X1~X2,data=data) bogus.model <- step(m0,scope=list(lower=~X2, upper=~X2+X3+X4+X5+X6+X7+X8+X9+X10+X11+X12+X13+X14 +X14+X16+X17+X18+X19+X20 +X21+X22+X23+X24+X25+X26+X27+X28+X29+X30 +X31+X32+X33+X34+X35+X36+X37+X38+X39+X40 +X41+X42+X43+X44+X45+X46+X47+X48+X49+X50 +X51+X52+X53+X54+X55+X56+X57+X58+X59+X60 +X61+X62+X63+X64+X65+X66+X67+X68+X69+X70 +X71+X72+X73+X74+X75+X76+X77+X78+X79+X80 +X81+X82+X83+X84+X85+X86+X87+X88+X89+X90 +X91+X92+X93+X94+X95+X96+X97+X98+X99+X100), direction="forward",data=data) summary(bogus.model)